home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_oth / ada / sieve.aug < prev   
Text File  |  1985-07-06  |  768b  |  34 lines

  1. -- Eratosthenes Sieve Prime Number Program
  2. -- in Augusta
  3.  
  4. Procedure Prime is
  5.   prime,K,count : integer;
  6.   flags   : array(8190) of boolean;
  7.  
  8. Begin
  9.   putline("10 iterations");
  10.   for iter in 1..10
  11.   loop
  12.     count := 0;
  13.     flags(0) := true; -- initialize the array
  14.     moveleft ( @flags(0), @flags(1), 16378);
  15.     for I in 0..8190
  16.     loop
  17.       if flags(I) then
  18.         prime := I + I + 3;
  19.         K := I + prime;
  20.         while K <= 8190
  21.         loop
  22.           flags(K) := false;
  23.           K := K + prime;
  24.         end loop;
  25.         count := count + 1;
  26. --      putstr("Prime #=");
  27. --      putint(prime);
  28. --      newline;
  29.       end if;
  30.     end loop;
  31.   end loop;
  32.   putint(count); putline(" primes");
  33. End;
  34.